encyklopedia.space

ISO/IEC 9075

ISO/IEC 9075 – międzynarodowy standard definiujący język zapytań i manipulacji danymi w systemach relacyjnych baz danych, powszechnie znany jako SQL (Structured Query Language). Standard został opracowany wspólnie przez ISO i IEC i od pierwszej publikacji w 1987 roku jest regularnie aktualizowany, aby odzwierciedlać nowe wymagania i technologie.

Historia

Początki standardu sięgają 1974 roku, kiedy to IBM wprowadziło język SEQUEL, będący prototypem późniejszego SQL. W 1985 roku ANSI opublikowało pierwszą specyfikację SQL‑89. Wkrótce po tym, w 1987 roku, został wydany pierwszy międzynarodowy standard – ISO 9075‑1:1987, znany jako SQL‑89.

Budowa standardu

Standard ISO/IEC 9075 jest podzielony na szereg części, z których każda opisuje odrębny aspekt języka SQL. Najważniejsze z nich to:

Poszczególne części są regularnie uzupełniane o nowe funkcjonalności, np. obsługę JSON, XML, czy zaawansowanych typów analitycznych.

Najważniejsze edycje

Wersja Rok publikacji Główne zmiany
SQL‑89 1987 Podstawowy zestaw poleceń DML, DDL i kontroli transakcji.
SQL‑92 1992 Rozbudowa typów danych, podzapytania, operatory złączeń, definicje integralności.
SQL‑1999 1999 Wprowadzenie procedur, pełnego wsparcia dla tablic, rekursji i wyrażeń regularnych.
SQL‑2003 2003 Obsługa XML, typów danych BLOB/CLOB oraz funkcji okna.
SQL‑2008 2008 Usprawnienia w zakresie danych czasowych oraz wprowadzenie MERGE.
SQL‑2011 2011 Rozszerzone wsparcie dla danych przestrzennych (SQL/MM).
SQL‑2016 2016 Dodano JSON, funkcje okna i nowe możliwości optymalizacji zapytań.
SQL‑2019 2019 Wsparcie dla funkcji tabelowych polymorficznych oraz rozwinięcie standardu JSON.
SQL‑2023 2023 Nowe mechanizmy bezpieczeństwa, uczenie maszynowe w zapytaniach oraz rozszerzenia temporalnych.

Zakres i zastosowanie

ISO/IEC 9075 definiuje nie tylko składnię języka, ale także semantykę operacji na bazach danych, model danych, zasady integralności oraz mechanizmy transakcji. Standard jest podstawą dla praktycznie wszystkich komercyjnych i otwarto‑źródłowych systemów zarządzania bazą danych (MySQL, PostgreSQL, Oracle, Microsoft SQL Server itp.). Dzięki wspólnemu standardowi możliwe jest tworzenie aplikacji przenośnych pomiędzy różnymi platformami bazodanowymi.

Kompatybilność i rozszerzenia

Choć większość systemów bazodanowych implementuje główne części standardu, wiele z nich wprowadza proprietarne rozszerzenia (np. PL/SQL w Oracle, T‑SQL w Microsoft SQL Server). Standard przewiduje taką możliwość – dodatkowe funkcjonalności muszą być jasno odseparowane od podstawowego zbioru instrukcji, aby nie zakłócały przenośności kodu.

Proces standaryzacji

Rozwój ISO/IEC 9075 odbywa się w ramach podkomitetu ISO/IEC JTC‑1/SC‑32 (Standardy informatyki – bazy danych). Propozycje nowych funkcji są omawiane w grupie roboczej SQL WG, a każdy projekt przechodzi przez serię głosowań i konsultacji publicznych przed przyjęciem jako nowa część standardu.

Kluczowe pojęcia powiązane

Przyszłość standardu

W kolejnych latach planowane są dalsze aktualizacje, które mają wprowadzić m.in. lepsze wsparcie dla baz grafowych, integrację z Big Data, oraz rozszerzone mechanizmy bezpieczeństwa (np. rozproszone szyfrowanie danych).

Źródła i dalsza lektura

Materiały źródłowe można znaleźć w dokumentacji ISO oraz IEC, a także w publikacjach organizacji ANSI. Dla osób zainteresowanych praktycznym użyciem standardu polecane są podręczniki poświęcone poszczególnym wersjom SQL oraz oficjalne przewodniki dostawców baz danych.